Computer systems can have a graphical user interface (GUI) through which operating system and application software functionality is accessed. A GUI can represent computer application programs, documents, and data files as graphically displayed GUI objects, such as icons and menus. GUI objects can be manipulated by a user to control and activate system and application functions. A user may manipulate GUI objects by means of a pointing device such as a mouse. A mouse is an input device which, when moved over a surface, moves a display screen pointer in a corresponding direction. A mouse typically has a number of buttons which can be pressed (xe2x80x9cclickedxe2x80x9d) to select a GUI object being pointed at by the pointer, and to activate the GUI object""s associated function. GUI operating systems and applications may also be referred to as xe2x80x9cpoint-and-clickxe2x80x9d systems. The Microsoft Windows 98(copyright) and the Apple Macintosh MacOS(copyright) operating systems are examples of common GUI-based computer operating systems that support GUI-based applications.
A well-designed GUI interface can facilitate a user""s understanding of a software application. Some GUI objects, such as icons, can include a picture or other characteristic that is intended to suggest the function associated with the GUI object. Such function-suggesting GUI objects can assist a user in operating a software application. For example, to remind a user how to access printing functionality, an application can use an icon bearing a picture of a printer (a xe2x80x9cprinter iconxe2x80x9d).
If a group of applications use GUI objects with similar visual characteristics to represent similar functions, then a user""s understanding of one application can help the user understand other applications in the group. For example, once a user has learned that a printer icon activates a print function in a one application, the user may intuitively understand that when the same printer icon appears in another application, it will activate a similar printing function. Similarly, when GUI objects have dissimilar characteristics, it suggests that the functions associated with such objects will have dissimilar characteristics. The use of dissimilar GUI objects may thereby reinforce a user""s understanding of different functions within an application.
A software application designer may want to use dissimilar GUI objects for dissimilar functions and similar GUI objects for similar functions. Such an objective can be difficult to meet when a group of functions have characteristics that are similar, suggesting that similar GUI objects should be used, and other characteristics that are dissimilar, suggesting that dissimilar GUI objects should be used. For example, a word processing application may support two different print operation. The first print operation may print document text and the second print operation may print document statistical information, such as the number of words in the document and the last time the document was changed. From one perspective, these operations are similar in that each operation is a print operation. From another perspective, these operations are dissimilar in that the information printed is different. An application designer can use similar icons for these functions to suggest that each icon is associated with a printing function. However, if similar icons are used, a user may be confused as to whether a particular icon causes document text or document statistical information to be printed. Alternatively, the application designer can use dissimilar icons. However, the use of dissimilar icons may reduce the icon""s ability to suggest their associated function. Consequently, an improved way of expressing application functionality through the use of GUI objects is desired.
GUI objects that can simultaneously express multiple characteristics can be used in GUI interfaces. Multiple characteristic GUI objects can simultaneously suggest both similar and dissimilar associations to a user, thereby enabling an application designer to indicate functions that are similar, while simultaneously highlighting differences.
In general, in one aspect, the invention features a software control method. The method includes forming a plurality of groups each including one or more functions of a software application. A different characteristic is associated with each of the groups, and a different graphical user interface (GUI) object is formed for each function in each of the groups. Each GUI object includes the characteristic associated with its function""s group and a second characteristic that distinguishes its function from other functions within its function""s group.
In general, in another aspect, the invention features a computer program residing on a computer-readable medium. The program includes instructions for causing a computer to form a different graphical user interface (GUI) object for each of a collection of software functions. Each GUI object may include a first visual characteristic that identifies a first characteristic of the object""s associated function, and a second visual characteristic that identifies a second characteristic of the object""s associated function.
In general, in another aspect, the invention features a computer system having a graphical user interface (GUI). The GUI includes different graphical user interface (GUI) objects each user-selectable to access functionality associated with a software application. Each GUI object has a first visual characteristic that identifies a first characteristic of the object""s associated function, and a second visual characteristic that identifies a second characteristic of the object""s associated function.
Implementations may include one or more of the following features. GUI objects may have some characteristics in common and other characteristics that distinguishes the GUI objects from each other. GUI object characteristics may include background images, foreground images, and colors. Software application functions may having some characteristics in common and others that differ. Such functions may be associated with GUI objects that have corresponding characteristics in common and corresponding others that differ. A user selection may be received to identify a GUI object and to execute a function associated with the selected GUI object.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Implementations may provide advantages such as facilitating access to localized data without requiring user location input. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.